package com.android.basiclib.base;



/**
 * 其实就是DataSource的扩展类
 * 主要是用于分页加载的Repository,如果有paging需求，集成这个，
 * 可以兼容BasePaging
 */
//public abstract class BasePagingRepository<K, V> extends ItemKeyedDataSource<K, V> implements IRepository {
//
//    protected List<Disposable> mDisposables = new ArrayList<>();
//    private MutableLiveData<LoadState> mLoadActionLiveData;
//
//    private BasePagingRepository() {
//        //禁止无参的构造
//    }
//
//    public BasePagingRepository(MutableLiveData<LoadState> stateLiveData) {
//        mLoadActionLiveData = stateLiveData;
//    }
//
//    /**
//     * 取消全部任务
//     */
//    @Override
//    public void cleanTask() {
//        if (mDisposables.size() == 0) return;
//        for (Disposable disposable : mDisposables) {
//            if (disposable != null && !disposable.isDisposed())
//                disposable.dispose();
//        }
//        mDisposables.clear();
//    }
//
//    /**
//     * 取消上一次的任务
//     */
//    @Override
//    public void cleanLastTask() {
//        if (mDisposables.size() == 0) return;
//        Disposable disposable = mDisposables.get(mDisposables.size() - 1);
//        if (disposable != null && !disposable.isDisposed())
//            disposable.dispose();
//
//        mDisposables.remove(mDisposables.size() - 1);
//    }
//
//    public void setStateLiveData(LoadState loadState) {
//        if (mLoadActionLiveData != null) {
//            mLoadActionLiveData.postValue(loadState);
//        }
//    }
//}
